Electronic devices, such as mobile phones, personal computers, personal digital assistants, and many others, utilize processors, memories, input/output (I/O) and other digital devices in order to provide their designed functionality to end users. These various digital devices are connected to one another using interconnects (also sometimes referred to as “busses” or “interfaces”), which convey data, signals and commands between or among the various devices.
With the advance in complementary metal oxide semiconductor (CMOS) technology, there is a tendency to move from parallel to high-speed serial interfaces. The reasons for this are twofold. First, there is less physical package room on chips for many pins. Over time, integrated circuit devices, or “chips” have tended to shrink and/or provide more functionality (and hence more interfaces). As a result, fewer pins must be used to convey the same or an increased amount of data. Second, while the data volume increases, packaging size has either stayed the same and/or decreased, meaning that power consumption must also decrease (unless made from different materials, power consumption and heat dissipation are phenomena proscribed by the material used to make the chip, presuming heat dissipation methods are maximized, within reason). As a result, the use of serial interfaces has increased which are faster and consume less power.
In a protocol stack of a serial interface (a protocol stack is a system describing how information is transferred between devices on physical interconnects), there are a number of layers, including the physical, or “PHY” layer. An example of such a PHY layer and associated protocol are M-PHY and unified protocol (UniPro), respectively, both standardized in the Mobile Industry Processor Interface (MIPI) Alliance. Within the serial PHY technology, encoded (e.g., 8b/10b coding) PHYs are typically preferred. Most of the current high-speed serial interfaces, including MIPI/M-PHY, PCI Express, SuperSpeed USB, HyperTransport, RapidlO, InfiniBand and Serial ATA use an encoded PHY layer. Encoded PHY layers are used because they provide more robust communication, provide enough state changes to allow clock recovery, and are useful for detecting byte boundaries (sometimes called byte synchronization) of data during a transmission on the interconnect.
Byte synchronization can be achieved by, for example, the transmitter (Tx) inserting comma codes, which are unique bit patterns in any valid bit stream. Comma codes have several unique features. A first feature is that it is a unique bit pattern that cannot be encountered by any other combination of bit symbols in normal transmission. Secondly, if all of the bits of the comma code are inversed, the uniqueness of the pattern remains The receiver (Rx) can then search for such a comma code in data received over the interconnect and, when a comma code is found, the Rx establishes byte sync, which can be used for further communication with normal PHY symbols which are not unique within a bit stream. The process of searching for and finding comma codes is commonly referred to as “comma code matching.”
There are certain problems, however, with using comma code matching techniques for byte synchronization in interconnects. One such problem is that constantly searching for comma codes uses a significant amount of power. These and other problems are discussed in greater detail below. Accordingly, it would be desirable to provide methods, modes and systems for byte synchronization that minimizes use of comma codes, for use, by way of example, in M-PHY links in UniPro systems.